#include<bits/stdc++.h>
using namespace std;

//还原字母，向右移
int rightmove(char o, int input_len);
//还原逆序存储，再次逆序
//还原大小写，再次反转
int bschange(char q);

int main()
{
	char a[55];
	cin.getline(a,50);
	int len=strlen(a);
	
	for (int i=0; i<=len; i++)
	{
		//调用右移函数
		a[i]=rightmove(a[i],len);
		//此时a组已经右移
		
		//大小写转换
		a[i]=bschange(a[i]);
	}
	
	//逆序输出
	for (int i=0,j=len-1; i<=len; i++,j--)
	{
		cout<<a[j];
	}
	
	return 0;
}
int rightmove(char o, int input_len)
{
	for (int i=0; i<=input_len-1; i++)
	{
		if ((o>='a'&&o<='w')||(o>='A'&&o<='W')) 
		{
			o+=3;
			return o;
		}
		else 
		{
			o-=('z'-'c');
			return o;
		}
	}
}

int bschange(char q)
{
	char qq;
	if (q>='a'&&q<='z') qq=(char)((int)q-32);
	if (q>='A'&&q<='Z') qq=(char)((int)q+32);
	return qq;
}